home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / php / pear / adodb / server.php < prev    next >
PHP Script  |  2005-05-17  |  2KB  |  98 lines

  1. <?php
  2.  
  3. /** 
  4.  * @version V4.63 17 May 2005 (c) 2000-2005 John Lim (jlim@natsoft.com.my). All rights reserved.
  5.  * Released under both BSD license and Lesser GPL library license. 
  6.   Whenever there is any discrepancy between the two licenses, 
  7.   the BSD license will take precedence. 
  8.  */
  9.  
  10. /* Documentation on usage is at http://php.weblogs.com/adodb_csv
  11.  *
  12.  * Legal query string parameters:
  13.  * 
  14.  * sql = holds sql string
  15.  * nrows = number of rows to return 
  16.  * offset = skip offset rows of data
  17.  * fetch = $ADODB_FETCH_MODE
  18.  * 
  19.  * example:
  20.  *
  21.  * http://localhost/php/server.php?select+*+from+table&nrows=10&offset=2
  22.  */
  23.  
  24.  
  25. /* 
  26.  * Define the IP address you want to accept requests from 
  27.  * as a security measure. If blank we accept anyone promisciously!
  28.  */
  29. $ACCEPTIP = '';
  30.  
  31. /*
  32.  * Connection parameters
  33.  */
  34. $driver = 'mysql';
  35. $host = 'localhost'; // DSN for odbc
  36. $uid = 'root';
  37. $pwd = '';
  38. $database = 'test';
  39.  
  40. /*============================ DO NOT MODIFY BELOW HERE =================================*/
  41. // $sep must match csv2rs() in adodb.inc.php
  42. $sep = ' :::: ';
  43.  
  44. include('./adodb.inc.php');
  45. include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
  46.  
  47. function err($s)
  48. {
  49.     die('**** '.$s.' ');
  50. }
  51.  
  52. // undo stupid magic quotes
  53. function undomq(&$m) 
  54. {
  55.     if (get_magic_quotes_gpc()) {
  56.         // undo the damage
  57.         $m = str_replace('\\\\','\\',$m);
  58.         $m = str_replace('\"','"',$m);
  59.         $m = str_replace('\\\'','\'',$m);
  60.         
  61.     }
  62.     return $m;
  63. }
  64.  
  65. ///////////////////////////////////////// DEFINITIONS
  66.  
  67.  
  68. $remote = $_SERVER["REMOTE_ADDR"]; 
  69.  
  70. if (empty($_GET['sql'])) err('No SQL');
  71.  
  72. if (!empty($ACCEPTIP))
  73.  if ($remote != '127.0.0.1' && $remote != $ACCEPTIP) 
  74.      err("Unauthorised client: '$remote'");
  75.  
  76.  
  77. $conn = &ADONewConnection($driver);
  78.  
  79. if (!$conn->Connect($host,$uid,$pwd,$database)) err($conn->ErrorNo(). $sep . $conn->ErrorMsg());
  80. $sql = undomq($_GET['sql']);
  81.  
  82. if (isset($_GET['fetch']))
  83.     $ADODB_FETCH_MODE = $_GET['fetch'];
  84.     
  85. if (isset($_GET['nrows'])) {
  86.     $nrows = $_GET['nrows'];
  87.     $offset = isset($_GET['offset']) ? $_GET['offset'] : -1;
  88.     $rs = $conn->SelectLimit($sql,$nrows,$offset);
  89. } else 
  90.     $rs = $conn->Execute($sql);
  91. if ($rs){ 
  92.     //$rs->timeToLive = 1;
  93.     echo _rs2serialize($rs,$conn,$sql);
  94.     $rs->Close();
  95. } else
  96.     err($conn->ErrorNo(). $sep .$conn->ErrorMsg());
  97.  
  98. ?>